#ifndef _simple_itc_h_
#define _simple_itc_h_
/*
 * simple_itc.h
 *
 *  Created on: Apr 13, 2012
 *      Author: drew 
 */


#include <stdlib.h>
#include <semaphore.h>
#include "simple_linked_list/simple_linked_list.h"

typedef struct
{
	pthread_mutex_t * ConditionLock;
	pthread_cond_t  * Condition;
	LinkListObject    LinkedList;
} SimItc_ConcreteMsg_t, * SimItc_QueueHandle_t, *QueueObject;

SimItc_QueueHandle_t SimItc_CreateQueue( int length, int size );
void SimItc_DestroyQueue( SimItc_QueueHandle_t queueHandle );
int SimItc_SendQueue( SimItc_QueueHandle_t queueHandle, const void * pvItemToQueue );
int SimItc_ReceiveQueue( SimItc_QueueHandle_t queueHandle, void * pvBuffer, int iMaxWaitMs );

#endif /* _simple_itc_h_ */
